home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / os2 / octa209s.zip / octave-2.09 / libcruft / minpack / dpmpar.f < prev    next >
Text File  |  1996-07-19  |  2KB  |  53 lines

  1.       DOUBLE PRECISION FUNCTION DPMPAR(I)
  2.       INTEGER I
  3. C     **********
  4. C
  5. C     FUNCTION DPMPAR
  6. C
  7. C     THIS FUNCTION PROVIDES DOUBLE PRECISION MACHINE PARAMETERS
  8. C     WHEN THE APPROPRIATE SET OF DATA STATEMENTS IS ACTIVATED (BY
  9. C     REMOVING THE C FROM COLUMN 1) AND ALL OTHER DATA STATEMENTS ARE
  10. C     RENDERED INACTIVE. MOST OF THE PARAMETER VALUES WERE OBTAINED
  11. C     FROM THE CORRESPONDING BELL LABORATORIES PORT LIBRARY FUNCTION.
  12. C
  13. C     THE FUNCTION STATEMENT IS
  14. C
  15. C       DOUBLE PRECISION FUNCTION DPMPAR(I)
  16. C
  17. C     WHERE
  18. C
  19. C       I IS AN INTEGER INPUT VARIABLE SET TO 1, 2, OR 3 WHICH
  20. C         SELECTS THE DESIRED MACHINE PARAMETER. IF THE MACHINE HAS
  21. C         T BASE B DIGITS AND ITS SMALLEST AND LARGEST EXPONENTS ARE
  22. C         EMIN AND EMAX, RESPECTIVELY, THEN THESE PARAMETERS ARE
  23. C
  24. C         DPMPAR(1) = B**(1 - T), THE MACHINE PRECISION,
  25. C
  26. C         DPMPAR(2) = B**(EMIN - 1), THE SMALLEST MAGNITUDE,
  27. C
  28. C         DPMPAR(3) = B**EMAX*(1 - B**(-T)), THE LARGEST MAGNITUDE.
  29. C
  30. C     ARGONNE NATIONAL LABORATORY. MINPACK PROJECT. JUNE 1983.
  31. C     BURTON S. GARBOW, KENNETH E. HILLSTROM, JORGE J. MORE
  32. C
  33. C     Modified Mon Aug 28 14:46:17 CDT 1989 by John W. Eaton
  34. C     (chpf127@emx.utexas.edu) to use D1MACH
  35. C
  36. C     **********
  37. C
  38.       DOUBLE PRECISION  D1MACH
  39. C
  40.       IF ( I .EQ. 1 ) THEN
  41.         DPMPAR = D1MACH(4)
  42.       ELSEIF ( I . EQ. 2 ) THEN
  43.         DPMPAR = D1MACH(1)
  44.       ELSEIF ( I .EQ. 3 ) THEN
  45.         DPMPAR = D1MACH(2)
  46.       ENDIF
  47. C
  48.       RETURN
  49. C
  50. C     LAST CARD OF FUNCTION DPMPAR.
  51. C
  52.       END
  53.